////////////////////////////////////////////////////////////////////////////////
// Filename: irenderble.hpp
////////////////////////////////////////////////////////////////////////////////
#ifndef IRENDERBLE_HPP_
#define IRENDERBLE_HPP_

//////////////
// INCLUDES //
//////////////
#include <D3DX11.h>
#include <D3DX10math.h>

////////////////////////////////////////////////////////////////////////////////
// Class name: IRenderble
////////////////////////////////////////////////////////////////////////////////
namespace miv {
	class IRenderble {
	public:
		IRenderble();
		~IRenderble();

		bool Initialize();
		void Shutdown();

		virtual void SetActive(ID3D11DeviceContext* deviceContex);
		virtual void Draw(ID3D11DeviceContext* deviceContex);
		virtual int GetIndexCount();
		D3DXMATRIX* GetModelMatrix();

	private:
		int m_indexCount;
		D3DXMATRIX m_modelMatrix;
	};
}

#endif
